package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.vo.PageInfo;
import com.tanhua.dubbo.server.pojo.RecommendUser;

import java.util.List;

/**
 * 推荐用户业务接口
 */
public interface RecommendUserApi {

    /**
     * 查询缘分值最高的用户
     *
     * @param userId 用户id
     * @return 推荐的用户
     */
    RecommendUser queryWithMaxScore(Long userId);

    /**
     * 查询推荐朋友集合
     *
     * @param userId   用户id
     * @param pageNum  当前页数
     * @param pageSize 每页条数
     * @return 推荐朋友集合
     */
    PageInfo<RecommendUser> queryPageInfo(Long userId, Integer pageNum, Integer pageSize);

    /**
     * 查询推荐好友的缘分值
     *
     * @param userId   好友的id
     * @param toUserId 我的id
     * @return 缘分值
     */
    Double queryScore(Long userId, Long toUserId);

    /**
     * 查询探花列表，查询时需要排除不喜欢列表用户
     *
     * @param userId 用户id
     * @param count  查询个数
     * @return
     */
    List<RecommendUser> queryCardList(Long userId, Integer count);

}
